package com.magold.level;

import java.io.IOException;
import java.io.InputStream;

import com.magold.context.IContext;

public interface ILevelLoader {

	public float getPercentage();
	
	public void setDefaultEntityLoader(ILevelElementLoader pDefaultEntityLoader);
	public void registerEntityLoader(String[] pEntityNames, ILevelElementLoader pEntityLoader);
	public void registerEntityLoader(String pEntityName, ILevelElementLoader pEntityLoader);
	
	public ILevel loadLevelFromStream(InputStream pInputStream, IContext pContext) throws IOException;
	public void addProgressListener(ProgressListener pListener);
	public void removeProgressListener(ProgressListener pListener);
}
